package com.it.upd1;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * 目标：完成UDP通信快速入门：实现1发1收
 */
public class Client {
    public static void main(String[] args) throws Exception {
        // 1.创建客户端对象（发韭菜出去的人） 端口号可指定，不指定端口号时，端口号就是随机分配
        DatagramSocket socket = new DatagramSocket(7777);

        // 2.创建数据包对象封装要发出去的数据（创建一个韭菜盘子）
        /**
         * public DatagramPacket(byte buf[], int offset, int length,InetAddress address, int port)
         *  参数一：封装要发出去的数据
         *  参数二：发送出去的数据大小（字节个数）
         *  参数三：服务端的IP地址（找到服务端主机）
         *  参数四：服务端程序的端口
         */
        byte[] bytes = "我是快乐的客户端，哈哈哈abc".getBytes();
//        连接被人的ip地址 InetAddress.getByName("172.168.23.12")
//        连接自己的ip地址 InetAddress.getLocalHost()
        DatagramPacket packet = new DatagramPacket(bytes, bytes.length, InetAddress.getLocalHost(), 6666);

        // 3.开始正式发送这个数据包的数据出去了
        socket.send(packet);

        System.out.println("客户端数据发送完毕");
        // 关闭通信管道socket
        socket.close(); // 释放资源

    }
}
